home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / WD_SRC.ZIP / BSP_GEN / IO.HPP < prev    next >
C/C++ Source or Header  |  1994-12-29  |  2KB  |  96 lines

  1.  
  2. class MFile;
  3.  
  4.  
  5. // Command line processing.
  6. //////////////////////////////////////
  7.  
  8. typedef struct
  9. {
  10.     BOOL bDoomLevel;
  11.     char *pLevelName;
  12.  
  13.     char *pTextureWadName;
  14.     BOOL bLoadDoomTextures;
  15.  
  16.     char *pFilename;
  17.     WORD balance;
  18.  
  19.     char *pOutputFile;
  20.     BOOL bGraphicalDisplay;
  21. } BspCommandLine;
  22.  
  23.  
  24. BOOL ProcessCommandLine( int argc, char *argv[], BspCommandLine *pToProcess );
  25.  
  26.  
  27.  
  28. // Text file IO.
  29. //////////////////////////////////////
  30.  
  31. BOOL LoadTextData( BYTE *pFilename, CLineArray *pLines, CPointArray *pPoints );
  32. BOOL LoadBinaryData( BYTE *pFilename, CLineArray *pLines, CPointArray *pPoints );
  33.  
  34. BOOL OutputTextData( CLine *pRoot, char *pFilename, CLineArray *pLines, CPointArray *pPoints );
  35. BOOL OutputBinaryData( CLine *pRoot, char *pFilename, CLineArray *pLines, CPointArray *pPoints );
  36.  
  37. void NodeInfo( CLineArray *pLineList, WORD *pNInternal, WORD *pNExternal );
  38. void SkipComments(FILE *fp);
  39.  
  40.  
  41. // Graphical display.
  42. //////////////////////////////////////
  43.  
  44. BOOL DisplayGraphicalData( CLineArray *pLines, CPointArray *pPoints );
  45. void DrawLine( DWORD x1, DWORD y1, DWORD x2, DWORD y2 );
  46.  
  47.  
  48. // Doom level reading.
  49. //////////////////////////////////////
  50.  
  51. typedef struct
  52. {
  53.     DWORD    resPos;
  54.     DWORD    resLength;
  55.     BYTE    resName[8];
  56. } DirEntry;
  57.  
  58. typedef struct
  59. {
  60.     WORD x;
  61.     WORD y;
  62. } DoomVertex;
  63.  
  64. typedef struct
  65. {
  66.     WORD iFromVert;
  67.     WORD iToVert;
  68.     WORD attributes;
  69.     WORD type;
  70.     WORD tag;
  71.     WORD rightSidedef;
  72.     WORD leftSidedef;
  73. } DoomLinedef;        
  74.  
  75. typedef struct
  76. {
  77.     WORD xOffset;
  78.     WORD yOffset;
  79.  
  80.     BYTE upperTex[8];
  81.     BYTE lowerTex[8];
  82.     BYTE normalTex[8];
  83.     
  84.     WORD sectorRef;    
  85. } DoomSidedef;
  86.  
  87.  
  88. BOOL LoadDoomLevel( BYTE *pFilename, BYTE *pLevelName, CLineArray *pLineArray, CPointArray *pPointArray, BOOL bLoadTextures, BYTE *pTextureWadName );
  89. DWORD GetDirEntry( MFile *fpWadFile, char *pEntryName, DWORD startSearchAt, DirEntry *pEntry );
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.